import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'app_theme.dart';

class ThemeProvider extends ChangeNotifier {
  // ئاچقۇچ
  static const String themeKey = 'dark_mode';

  // دەسلەپكى ھالەت
  bool _isDarkMode = false;
  
  // كونستراكتور
  ThemeProvider() {
    _loadTheme();
  }
  
  // تېما ھالىتىنى قايتۇرىدۇ
  bool get isDarkMode => _isDarkMode;
  
  // ھازىرقى تېمانى قايتۇرىدۇ
  ThemeData get currentTheme => _isDarkMode ? AppTheme.darkTheme : AppTheme.lightTheme;
  
  // ساقلانغان تېمانى ئوقۇيدۇ
  Future<void> _loadTheme() async {
    final prefs = await SharedPreferences.getInstance();
    _isDarkMode = prefs.getBool(themeKey) ?? false;
    notifyListeners();
  }
  
  // تېمانى ساقلايدۇ
  Future<void> _saveTheme() async {
    final prefs = await SharedPreferences.getInstance();
    await prefs.setBool(themeKey, _isDarkMode);
  }
  
  // تېمانى ئالماشتۇرىدۇ
  Future<void> toggleTheme() async {
    _isDarkMode = !_isDarkMode;
    await _saveTheme();
    notifyListeners();
  }
  
  // تېمانى بېكىتىدۇ
  Future<void> setDarkMode(bool value) async {
    _isDarkMode = value;
    await _saveTheme();
    notifyListeners();
  }
} 